/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package service;

import DAO.PostgresDAO;
import java.util.Calendar;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 *
 * @author helanio
 */
@WebService(serviceName = "ProcessarPagamento")
public class ProcessarPagamento {
    
    private java.sql.Date obterData(){
        Calendar calendar = Calendar.getInstance();
        return new java.sql.Date(calendar.getTime().getTime());
    }

    /**
     * This is a sample web service operation
     */
    @WebMethod(operationName = "realizarPagamento")
    public long realizarPagamento(@WebParam(name = "nomeCliente")  String nomeCliente, @WebParam(name = "cpf") long cpf, @WebParam(name = "numeroCartaoCredito") long numeroCartaoCredito, @WebParam(name = "codigo") String codigo, @WebParam(name = "nomeEscritoNoCartao") String nomeEscritoNoCartao, @WebParam(name = "validade") String validade, @WebParam(name = "valor") double valor){
        Cartao cartao = null;
        long retorno = 0;
        
        cartao = PostgresDAO.consultaCartao(cpf);
        Validador validador = new Validador(cartao);
        if(validador.validarCarao(cpf, numeroCartaoCredito, codigo, valor, nomeEscritoNoCartao, validade)){
            java.sql.Date dataOperacao = obterData();
            PostgresDAO.registroPagamento(dataOperacao, numeroCartaoCredito, codigo, valor);
            retorno = PostgresDAO.obterUltimaNotafiscal();
        }
        return retorno;
    }

}
